// 登录，返回 userInfo
export function login() {
  return new Promise((resolve, reject) => {
    // 登录
    wx.login({
      success: loginRes => {
        let code = loginRes.code
        wx.setStorageSync('loginCode', {
          code,
          timestamp: new Date().toLocaleString()
        })
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        let userInfo

        // 获取用户信息
        wx.getSetting({
          success: settingRes => {
            if (settingRes.authSetting['scope.userInfo']) {
              // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
              wx.getUserInfo({
                success: userRes => {
                  // 可以将 res 发送给后台解码出 unionId
                  userInfo = userRes.userInfo
                  console.log(userInfo)
                  wx.setStorageSync('userInfo', userInfo)
                  resolve(userInfo)
                },

                fail(userErr) {
                  //进入登录页面
                  reject({
                    msg: '获取用户资料失败',
                    err: userErr
                  })
                }
              })
            } else {
              reject({
                msg: '没有用户信息',
                err: 0
              })
            }
          },
        })
      },

      fail: err => {
        reject({
          msg: '未授权登录',
          err
        })
      }
    })
  })
}